﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CMS.BL.Entity;

namespace CMS.Services
{
    public interface IUser
    {
        bool CanUseUserEmail(string email, int currentUserID = 0);
        List<tbl_AdminUsers> GetAllUsers();
        List<string> GetPermissionsByUserID(int userID);
        tbl_AdminUsers GetUserByEmail(string email);
        tbl_AdminUsers GetUserByEmailAndPassword(string email, string password);
        tbl_AdminUsers GetUserByID(int userID);
        int GetUserGroupIDByUserID(int userID);
        bool DeleteUser(int userID);
        tbl_AdminUsers SaveUser(string email, string userName, string password, int groupID, int userID);

        List<tbl_UserGroups> GetAllUserGroups();
        List<tbl_UserGroups> GetAllUserGroupsOrdered();
        tbl_UserGroups GetUserGroupByID(int groupID);
        int GetUsersAmountForUserGroup(int groupID);
        bool DeleteUserGroup(int groupID);
        tbl_UserGroups SaveUserGroup(string groupName, int[] menuItems, int[] permissions, int groupID);
    }
}
